var map = new AMap.Map('container', {
  mapStyle: 'amap://styles/1de318cbb8d12c02303a22c550b9ccc9',
  zoom: 4,
  center: [107.4976, 32.1697],
  features: ['bg', 'road'],
  // Loca 自 1.2.0 起 viewMode 模式默认为 3D，如需 2D 模式，请显示配置。
  // viewMode: '3D'
});

var layer = new Loca.PointLayer({
  map: map
});

layer.setMap(map);

const data = [
  { 'name': '北京', 'center': '116.407394,39.904211', 'aqiLevel': '23' },
  { 'name': '天津', 'center': '117.200983,39.084158', 'aqiLevel': '30' },
  { 'name': '石家庄', 'center': '114.530235,38.037433', 'aqiLevel': '39' },
  { 'name': '太原', 'center': '112.562678,37.873499', 'aqiLevel': '67' },
  { 'name': '呼和浩特', 'center': '111.76629,40.81739', 'aqiLevel': '45' },
  { 'name': '辽宁省', 'center': '123.431382,41.836175', 'aqiLevel': '100' },
  { 'name': '吉林省', 'center': '125.32568,43.897016', 'aqiLevel': '100' },
  { 'name': '黑龙江省', 'center': '126.661665,45.742366', 'aqiLevel': '100' },
  { 'name': '上海市', 'center': '121.473662,31.230372', 'aqiLevel': '100' },
  { 'name': '江苏省', 'center': '118.762765,32.060875', 'aqiLevel': '100' },
  { 'name': '浙江省', 'center': '120.152585,30.266597', 'aqiLevel': '100' },
  { 'name': '安徽省', 'center': '117.329949,31.733806', 'aqiLevel': '100' },
  { 'name': '福建省', 'center': '119.295143,26.100779', 'aqiLevel': '100' },
  { 'name': '江西省', 'center': '115.81635,28.63666', 'aqiLevel': '100' },
  { 'name': '山东省', 'center': '117.019915,36.671156', 'aqiLevel': '100' },
  { 'name': '河南省', 'center': '113.753394,34.765869', 'aqiLevel': '100' },
  { 'name': '湖北省', 'center': '114.341745,30.546557', 'aqiLevel': '100' },
  { 'name': '湖南省', 'center': '112.9836,28.112743', 'aqiLevel': '100' },
  { 'name': '广东省', 'center': '113.26641,23.132324', 'aqiLevel': '100' },
  { 'name': '广西壮族自治区', 'center': '108.327546,22.815478', 'aqiLevel': '100' },
  { 'name': '海南省', 'center': '110.349228,20.017377', 'aqiLevel': '100' },
  { 'name': '重庆市', 'center': '106.551643,29.562849', 'aqiLevel': '100' },
  { 'name': '四川省', 'center': '104.075809,30.651239', 'aqiLevel': '100' },
  { 'name': '贵州省', 'center': '106.70546,26.600055', 'aqiLevel': '100' },
  { 'name': '云南省', 'center': '102.710002,25.045806', 'aqiLevel': '100' },
  { 'name': '西藏自治区', 'center': '91.117525,29.647535', 'aqiLevel': '100' },
  { 'name': '陕西省', 'center': '108.954347,34.265502', 'aqiLevel': '100' },
  { 'name': '甘肃省', 'center': '103.826447,36.05956', 'aqiLevel': '300' },
  { 'name': '青海省', 'center': '101.780268,36.620939', 'aqiLevel': '250' },
  { 'name': '宁夏回族自治区', 'center': '106.259126,38.472641', 'aqiLevel': '200' },
  { 'name': '新疆维吾尔自治区', 'center': '87.627704,43.793026', 'aqiLevel': '150' },
  { 'name': '台湾省', 'center': '121.509062,25.044332', 'aqiLevel': '100' },
  { 'name': '香港特别行政区', 'center': '114.171203,22.277468', 'aqiLevel': '50' },
  { 'name': '澳门特别行政区', 'center': '113.543028,22.186835', 'aqiLevel': '0' }
];

layer.setData(data, {
  type: 'json',
  lnglat: 'center'
});

layer.setOptions({
  style: {
    // 圆形半径，单位像素
    radius: 8,
    // 填充颜色
    color: (res) => {
      var val = res.value.aqiLevel;

      if (val > 300) return '#7e0123';
      else if (val > 200) return '#98004b';
      else if (val > 150) return '#fe0000';
      else if (val > 100) return '#ff7e00';
      else if (val > 50) return '#ffff00';
      else return '#01e400';
    },
    // 描边颜色
    borderColor: '',
    // 描边宽度，单位像素
    borderWidth: 0,
    // 透明度 [0-1]
    opacity: 1,
  }
});

layer.render();
